package comun;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.*;

@Entity
@Table(name="Oficinas")
public class OficinaCorreo implements Serializable
{
	private static final long serialVersionUID = 5728301995582231458L;

	@Id
	@Column
	private String nombreOficina;
	
	// 1 Oficina ---> * Casillas
	// 1 Casilla ---> * Oficina
	@ManyToMany
	@JoinTable(name="Casilla_Oficina",
	        joinColumns=@JoinColumn(name="id_nombreOficina"),
	        inverseJoinColumns=@JoinColumn(name="id_nombreCasilla"))
	private List<CasillaCorreo> casillas ;
	
	public OficinaCorreo (String nomOfi)
	{
		this.nombreOficina = nomOfi ;
		this.casillas = new ArrayList<CasillaCorreo> () ;
	}
	
	public OficinaCorreo(){
		
	}
	
	public String getNombreOficina ()
	{
		return (this.nombreOficina) ;
	}
	
	public List<CasillaCorreo> obtenerVectorCasillas ()
	{
		return (this.casillas) ;
	}
	
	public void agregarCasillaCorreo (CasillaCorreo casilla)
	{
		this.casillas.add(casilla) ;
	}
	
	public String listarCasillasDeOficina ()
	{
		String X = "\nCASILLAS DE LA OFICINA:" ;
		for (CasillaCorreo casilla : casillas) 
		{
			X = X + "\n_ " + casilla.toString() ;
		}
		return X ;
	}
	
	public String toString ()
	{
		return (this.nombreOficina + "\n") ;
	}
}
